home *** CD-ROM | disk | FTP | other *** search
/ Wonky Flux Batch 2019 02 / Wonky_Flux_Batch_2019-02.zip / Wonky Flux Batch 2019-02 / 023 - Big U Macroworks.dsk / ERROR.EDITOR.bas < prev    next >
BASIC Source File  |  2019-02-16  |  6KB  |  61 lines

  1. 1  ONERR  GOTO 5000
  2. 2  IF  PEEK(43447) < >0  THEN  PRINT : PRINT "<CTRL-G>PRODOS 1.1.1 REQUIRED": END 
  3. 3  IF  PEEK(176) *256 + PEEK(175) >8192  THEN  PRINT : PRINT "<CTRL-G>PROGRAM TOO LARGE": END 
  4. 4  LOMEM: 20000: REM  ROOM FOR BASIC AND ERR
  5. 5 S$ = "BASIC.SYSTEM"
  6. 6  PRINT  CHR$(21): POKE 34,0: HOME :ML = 18432: REM   START OF CODE
  7. 7 D = 1: REM   DEFAULT DRIVE NUMBER
  8. 17 Q$ =  CHR$(34):D$ =  CHR$(4):KP = 49152:KR = 49168:BP$ =  CHR$(7):CS =  -958:GM = ML +3:UV = ML +6:N8 = ML +9: REM   CALLS
  9. 18  PRINT  CHR$(4)"BLOAD ERROR.CODE": HOME 
  10. 21  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>______________________<CTRL-M><CTRL-M>READ ORIGINAL MESSAGES<CTRL-M>______________________<CTRL-M>
  11. 23  DIM ER$(18),ER(18): FOR I = 0 TO 19: READ J: NEXT : FOR I = 0 TO 18: READ ER$(I): NEXT : NORMAL : PRINT "BEAGLE ERROR EDITOR   (C) 1985, R.BRANDT";: INVERSE : PRINT "ORIGINAL MESSAGE   :     CURRENT VERSION";: NORMAL 
  12. 70  FOR I = 0 TO 379: PRINT " .";: NEXT : FOR I = 3 TO 21: VTAB I: HTAB 20: PRINT ":": NEXT : VTAB 3: FOR I = 0 TO 18: PRINT ER$(I): NEXT 
  13. 95  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>_____________________<CTRL-M><CTRL-M>READ CURRENT MESSAGES<CTRL-M>_____________________<CTRL-M>
  14. 100 Y =  -1: VTAB 3: FOR J = 2 TO 21: IF J = 6  THEN J = J +1
  15. 110  POKE 9,J:Y = Y +1: GOSUB 900: NEXT : POKE 9,12
  16. 130  VTAB 21: PRINT : INVERSE : PRINT "LENGTH:00  AVAIL. NIBBLES:00  ALTERED:00";: VTAB 22: HTAB 39 +(AL <10): PRINT AL;
  17. 150  PRINT Q$"E"Q$"DIT, "Q$"N"Q$"ORMALIZE, "Q$"U"Q$"PDATE, OR "Q$"Q"Q$"UIT";: NORMAL : POKE 34,23: POKE 49233,0
  18. 175  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>______________________<CTRL-M><CTRL-M>WAIT FOR USER'S CHOICE<CTRL-M>______________________<CTRL-M>
  19. 180  GOSUB 800
  20. 190  IF X = 81  THEN 4000: REM  QUIT
  21. 195  IF X = 85  THEN 3000: REM  'U'
  22. 200  IF X = 78  THEN 2000: REM  'N'  NORMALIZE
  23. 210  IF X < >69  THEN  PRINT BP$;: GOTO 180
  24. 215  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>_______________________<CTRL-M><CTRL-M>SELECT AND EDIT MESSAGE<CTRL-M>_______________________<CTRL-M>
  25. 225  CALL ML: POKE 34,23: HOME : POKE 34,0: IF  PEEK(8) = 0  THEN  CALL UV: INVERSE : VTAB 23: GOTO 150
  26. 240 Y =  PEEK(9) -2: IF Y >4  THEN Y = Y -1
  27. 250  VTAB 11: PRINT : INVERSE : GOSUB 900:AL = 0: FOR I = 0 TO 18:AL = AL +ER(I): NEXT : VTAB 22: HTAB 8: PRINT "00";: HTAB 39 +(AL <10): PRINT AL;: VTAB 24: NORMAL : GOTO 225
  28. 700  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>___________<CTRL-M><CTRL-M>SUBROUTINES<CTRL-M>___________<CTRL-M>
  29. 800  POKE KR,0: WAIT KP,128: POKE KR,0:X =  PEEK(KP): IF X >95  THEN X = X -32
  30. 810  RETURN 
  31. 900  CALL GM:X$ = "":L =  PEEK(48715): FOR I = 513 TO 512 +L:X$ = X$ + CHR$( PEEK(I) -128): NEXT : IF X$ = ER$(Y)  THEN  HTAB 21: PRINT " . . . . . . .-SAME-";:ER(Y) = 0: RETURN 
  32. 911 AL = AL +1:ER(Y) = 1: HTAB 21: PRINT " . . . . . . . . .";: HTAB 41 -L: PRINT X$;: RETURN 
  33. 950  GOSUB 800
  34. 955  VTAB 24: HTAB 1: PRINT CS: CALL CS: RETURN 
  35. 1990  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>______________________<CTRL-M><CTRL-M>NORMALIZE ALL MESSAGES<CTRL-M>______________________<CTRL-M>
  36. 2000  VTAB 24: HTAB 1: PRINT " RESTORE ORIGINAL MESSAGES (Y/N)";: CALL CS: GOSUB 800: IF X = 89  THEN 2005: REM  'Y'
  37. 2002  ON X < >78 GOTO 2000: GOSUB 955: GOTO 180
  38. 2005  CALL N8: REM     $BA9C.BB46
  39. 2010  RESTORE : FOR I = 47637 TO 47656: READ J: POKE I,J: NEXT : REM   $BA15.BA28
  40. 2020 AL = 0: GOSUB 955: VTAB 2: PRINT : GOTO 70
  41. 3000  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>___________________<CTRL-M><CTRL-M>UPDATE BASIC.SYSTEM<CTRL-M>___________________<CTRL-M>
  42. 3005  VTAB 24: HTAB 1: PRINT " UPDATE DISK IN DRIVE "D"? (Y/D)";: CALL CS: GOSUB 800: IF X = 89  THEN 3050: REM  'Y'
  43. 3015  IF X = 68  THEN D = D +1: ON D = 2 GOTO 3005: IF D = 3  THEN D = 1: GOTO 3005
  44. 3020  GOSUB 955: HTAB 5: PRINT "UPDATE CANCELLED; PRESS ANY KEY";: PRINT BP$;: GOSUB 950: GOTO 180
  45. 3050  PRINT D$"BLOAD"S$",TSYS,A$2000,D"D: FOR I = 47637 TO 47656:J =  PEEK(I): POKE I -30208,J: NEXT : REM   OFFSETS
  46. 3080  FOR I = 47772 TO 47942:J =  PEEK(I): POKE I -30208,J: NEXT : REM   DATA
  47. 3100  PRINT D$"UNLOCK"S$: PRINT D$"BSAVE"S$",TSYS,A$2000": GOSUB 955: HTAB 5: PRINT "UPDATE COMPLETED; PRESS ANY KEY";: GOSUB 950: GOTO 180
  48. 3995  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>___________<CTRL-M><CTRL-M> QUIT CODE <CTRL-M>___________<CTRL-M>
  49. 4000  TEXT : HOME : PRINT : PRINT "TYPE "Q$"RUN"Q$" TO RESTART.": END 
  50. 4995  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>______________________<CTRL-M><CTRL-M>ERROR HANDLING ROUTINE<CTRL-M>______________________<CTRL-M>
  51. 5000 ER =  PEEK(222):EL =  PEEK(219) *256 + PEEK(218)
  52. 5040  IF EL = 18  THEN  TEXT : HOME : PRINT BP$: PRINT "ERROR.CODE IS MISSING.": END : GOTO 15
  53. 5045  IF ER < >6  AND ER < >8  THEN 5100
  54. 5050  IF EL = 3050  THEN  GOSUB 955: PRINT " CAN'T FIND "S$"; PRESS ANY KEY";: PRINT BP$;: GOSUB 950: GOTO 180
  55. 5100  IF ER = 3  THEN  GOSUB 955: PRINT " SOMEONE SEEMS TO HAVE STOLEN DRIVE "D".";BP$;: GOSUB 950: GOTO 180
  56. 5200  TEXT : POKE 216,0: RESUME 
  57. 8015  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>_____________________<CTRL-M><CTRL-M>ORIGINAL OFFSET TABLE<CTRL-M>_____________________<CTRL-M>
  58. 8020  DATA 84,91,102,111,117,117,126,132,138,145,155,168,180,191,201,209,217,225,236,243
  59. 8990  REM <CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H><CTRL-H>_____________________<CTRL-M><CTRL-M>ORIGINAL MESSAGE DATA<CTRL-M>_____________________<CTRL-M>
  60. 9000  DATA "RANGE ERROR","NO DEVICE CONNECTED","WRITE PROTECTED","END OF DATA","PATH NOT FOUND","I/O ERROR","DISK FULL","FILE LOCKED","INVALID PARAMETER"
  61. 9001  DATA "NO BUFFERS AVAILABLE","FILE TYPE MISMATCH","PROGRAM TOO LARGE","NOT DIRECT COMMAND","SYNTAX ERROR","DIRECTORY FULL","FILE NOT OPEN","DUPLICATE FILE NAME","FILE BUSY","FILE(S) STILL OPEN"